home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Collections: Franz PD
/
Franz PD Disk #056 (1990)(Amiga User Group Deutschland e.V.).zip
/
Franz PD Disk #056 (1990)(Amiga User Group Deutschland e.V.).adf
/
Lotto
/
LottoV3.5
(
.txt
)
< prev
next >
Wrap
AmigaBASIC Source Code
|
1989-07-02
|
9KB
|
466 lines
' Lotto 6 aus 49 Version 3.5
' © 1989 by
' Jens Wilnat
' Berliner Str. 31
' 3000 Hannover 91
' Tel. 0511/467066
' Thanks to HJH
' Dies ist die Version 3.5 meines Lottoprogramms.
' Ich glaube das Programm ist jetzt fertig.
' Wenn es noch Fehler hat dann lasst es mich bitte wissen.
' Wenn Ihr gewinnt könnt Ihr mir ja etwas davon abgeben.
'
' Good luck ! ! !
' J.U.W. 14.05.89 23:45 Uhr
' P.S. Falls die Datei nicht aktuell ist:
' In der Zeitung "mach mit" vom Lottoverband findet Ihr die benötigten
' Daten. Die Zeitung gibt es kostenlos in jeder Lottoannahmestelle.
' Dann mit Neuerfassung <F1> alle Daten eingeben.
OPEN"R",#1,"daten-lotto"
FIELD #1,3 AS L$,3 AS h$
start:
CLS
PRINT
PRINT TAB(30) "L O T T O - 6 aus 49"
PRINT " © 1989 by J.U.W."
PRINT TAB(30)"F1 Neuerfassung"
PRINT " Thanks to HJH"
PRINT TAB(30)"F2 Aktualisieren"
PRINT
PRINT TAB(30)"F3 Ausgabe der Gewinnzahlen"
PRINT
PRINT TAB(30)"F4 Ändern einzelner Zahlen"
PRINT
PRINT TAB(30)"F5 Ausgabe aller Zahlen"
PRINT
PRINT TAB(30)"F6 Ausgabe einzelner Zahlen"
PRINT
PRINT TAB(30)"F7 Ausgabe der zuletzt gezogenen Zahlen"
PRINT
PRINT TAB(30)"F8 Autor"
PRINT
PRINT TAB(30)"F9 Info"
PRINT
PRINT TAB(30)"F10 Ende"
tastaturabfrage:
a$=INKEY$
IF LEN(a$)<>0 THEN a=ASC(a$)
IF a$="" THEN tastaturabfrage
IF a < 129 OR a> 138 THEN tastaturabfrage
ON a-128 GOTO f1,f2,f3,f4,f5,f6,f7,f8,f9,F10
GOTO tastaturabfrage
f2:
500 REM neue Zahlen
FOR i = 1TO 49
GET #1,i
lz%=CVI (L$) +1
LSET L$= MKI$(lz%)
PUT #1,i
NEXT
CLS:PRINT:PRINT
PRINT
INPUT "Erste gezogene Zahl";a
INPUT "Zweite gezogene Zahl";b
INPUT "Dritte gezogene Zahl";c
INPUT "Vierte gezogene Zahl";d
INPUT "Fünfte gezogene Zahl";e
INPUT "Sechste gezogene Zahl";f
GET #1,50
ha%=CVI (h$) +1
LSET h$= MKI$ (ha%)
PUT #1,50
PRINT:PRINT:
PRINT "Erste Zahl",a
satz%=a
GET #1, satz%
ha%=CVI (h$) +1:lz%=0
LSET h$= MKI$ (ha%):LSET L$= MKI$(lz%)
PUT #1,satz%
PRINT "Zweite Zahl",b
satz%=b
GET #1, satz%
ha%=CVI (h$) +1:lz%=0
LSET h$= MKI$ (ha%):LSET L$= MKI$(lz%)
PUT #1,satz%
PRINT"Dritte Zahl",c
satz%=c
GET #1, satz%
ha%=CVI (h$) +1:lz%=0
LSET h$= MKI$ (ha%):LSET L$= MKI$(lz%)
PUT #1,satz%
PRINT"Vierte Zahl",d
satz%=d
GET #1, satz%
ha%=CVI (h$) +1:lz%=0
LSET h$= MKI$ (ha%):LSET L$= MKI$(lz%)
PUT #1,satz%
PRINT"Fünfte Zahl",e
satz%=e
GET #1,satz%
ha%=CVI (h$) +1:lz%=0
LSET h$= MKI$ (ha%):LSET L$= MKI$(lz%)
PUT #1,satz%
PRINT"Sechste Zahl",f
satz%=f
GET #1, satz%
ha%=CVI (h$) +1:lz%=0
LSET h$= MKI$ (ha%):LSET L$= MKI$(lz%)
PUT #1,satz%
GOTO start
f3:
600 REM seltenste Zahl ausgeben
haeuf(1)=999:haeuf(2)=999:haeuf(3)=999:haeuf(4)=999:haeuf(5)=999:haeuf(6)=999
CLS:PRINT:PRINT
LOCATE 10,10:PRINT"Bitte warten"
FOR i=1 TO 49
GET #1,i
IF CVI(h$)<haeuf(1) THEN haeuf(1)=CVI(h$):z(1)=i
NEXT
FOR i=1 TO 49
GET #1,i
IF CVI(h$)<haeuf(2) AND i<>z(1) THEN haeuf(2)=CVI(h$):z(2)=i
NEXT
FOR i=1 TO 49
GET #1,i
IF CVI(h$)<haeuf(3) AND i<>z(1) AND i<>z(2) THEN haeuf(3)=CVI(h$):z(3)=i
NEXT
FOR i=1 TO 49
GET #1,i
IF CVI(h$)<haeuf(4) AND i<>z(1) AND i<>z(2) AND i<>z(3) THEN haeuf(4)=CVI(h$):z(4)=i
NEXT
FOR i=1 TO 49
GET #1,i
IF CVI(h$)<haeuf(5) AND i<>z(1) AND i<>z(2) AND i<>z(3) AND i<>z(4) THEN haeuf(5)=CVI(h$):z(5)=i
NEXT
FOR i=1 TO 49
GET #1,i
IF CVI(h$)<haeuf(6) AND i<>z(1) AND i<>z(2) AND i<>z(3) AND i<>z(4) AND i<>z(5) THEN haeuf(6)=CVI(h$):z(6)=i
NEXT
GOSUB sort1
CLS
GET #1,50
PRINT:PRINT:PRINT"Die vorausichtlichen Gewinnzahlen für die";CVI(h$)+1;". Woche:"
PRINT: PRINT:PRINT
PRINT:PRINT"Die am seltensten gezogenen Zahlen: "
PRINT:PRINT z(1);z(2);z(3);z(4);z(5);z(6)
PRINT:PRINT
:PRINT
FOR i=1 TO 49
GET #1,i
IF CVI(L$)>laz(1) THEN laz(1)=CVI(L$):lz(1)=i
NEXT
FOR i=1 TO 49
GET #1,i
IF CVI(L$)>laz(2) AND i<>lz(1) THEN laz(2)=CVI(L$):lz(2)=i
NEXT
FOR i=1 TO 49
GET #1,i
IF CVI(L$)>laz(3) AND i<>lz(1) AND i<>lz(2) THEN laz(3)=CVI(L$):lz(3)=i
NEXT
FOR i=1 TO 49
GET #1,i
IF CVI(L$)>laz(4) AND i<>lz(1) AND i<>lz(2) AND i<>lz(3) THEN laz(4)=CVI(L$):lz(4)=i
NEXT
FOR i=1 TO 49
GET #1,i
IF CVI(L$)>laz(5) AND i<>lz(1) AND i<>lz(2) AND i<>lz(3) AND i<>lz(4) THEN laz(5)=CVI(L$):lz(5)=i
NEXT
FOR i=1 TO 49
GET #1,i
IF CVI(L$)>laz(6) AND i<>lz(1) AND i<>lz(2) AND i<>lz(3) AND i<>lz(4) AND i<>lz(5) THEN laz(6)=CVI(L$):lz(6)=i
NEXT
GOSUB sort2
PRINT:PRINT"Die am längsten nicht mehr gezogenen Zahlen: "
PRINT:PRINT lz(1);lz(2);lz(3);lz(4);lz(5);lz(6)
PRINT:PRINT
INPUT"<Return>",ffff$
yy3:
CLS
LOCATE 10,30
PRINT "<F1> Druckerausgabe"
PRINT
PRINT TAB(30) "<F10> zurück zum Menü"
xxx3:
a$=INKEY$
IF LEN(a$)<>0 THEN a=ASC(a$)
IF a$="" THEN xxx3
IF a <> 129 AND a<> 138 THEN xxx3
IF a = 129 THEN drucker2
IF a = 138 THEN start
GOTO xxx3
f1:
FOR i=1 TO 49
satz%=i
PRINT satz%
INPUT"Wie oft gezogen";ha%
INPUT"Wielange nicht gezogen";lz%
LSET h$= MKI$ (ha%):LSET L$= MKI$ (lz%)
PUT #1 ,satz%
NEXT
INPUT "Woche",ha%
LSET h$= MKI$ (ha%)
PUT #1, 50
GOTO start
F10:
CLOSE
SYSTEM
f4:
INPUT"Satznummer";i
GET #1,i
IF i = 50 THEN woche
PRINT i;": ";;CVI(h$);" mal, ";CVI(L$); "Wochen nicht"
INPUT "Wie oft gezogen";ha%
INPUT "Wielange nicht gezogen";lz%
LSET h$= MKI$ (ha%):LSET L$= MKI$(lz%)
PUT #1,i
GOTO yyy:
woche:
PRINT "Woche:";CVI(h$)
INPUT "Welche Woche";ha%
LSET h$=MKI$(ha%)
PUT #1, 50
yyy:
CLS
LOCATE 10,30
PRINT "<F1> weiter"
PRINT
PRINT TAB(30)"<F10> zurück zum Menü"
xxx:
a$=INKEY$
IF LEN(a$)<>0 THEN a=ASC(a$)
IF a$="" THEN xxx
IF a <> 129 AND a<> 138 THEN xxx
IF a = 129 THEN f4
IF a = 138 THEN start
GOTO xxx
f5:
CLS
FOR i =1 TO 10
GET #1,i
PRINT i;": ";;CVI(h$);" mal gezogen , ";CVI(L$); "Wochen nicht gezogen"
PRINT
NEXT
INPUT"<Return>",ffff$
FOR i =11 TO 20
GET #1,i
PRINT i;": ";;CVI(h$);" mal gezogen , ";CVI(L$); "Wochen nicht gezogen"
PRINT
NEXT
INPUT"<Return>",ffff$
FOR i =21 TO 30
GET #1,i
PRINT i;": ";;CVI(h$);" mal gezogen , ";CVI(L$); "Wochen nicht gezogen"
PRINT
NEXT
INPUT"<Return>",ffff$
FOR i =31 TO 40
GET #1,i
PRINT i;": ";;CVI(h$);" mal gezogen, ";CVI(L$); "Wochen nicht gezogen"
PRINT
NEXT
INPUT"<Return>",ffff$
FOR i =41 TO 49
GET #1,i
PRINT i;": ";CVI(h$);" mal gezogen, ";CVI(L$); "Wochen nicht gezogen"
PRINT
NEXT
GET #1,50
PRINT CVI(h$);". Woche"
INPUT"<Return>",ffff$
yy2:
CLS
LOCATE 10,30
PRINT "<F1> Druckerausgabe"
PRINT
PRINT TAB(30) "<F10> zurück zum Menü"
xxx2:
a$=INKEY$
IF LEN(a$)<>0 THEN a=ASC(a$)
IF a$="" THEN xxx2
IF a <> 129 AND a<> 138 THEN xxx2
IF a = 129 THEN drucker1
IF a = 138 THEN start
GOTO xxx2
PRINT
PRINT
PRINT
INPUT"<Return>",ffff$
GOTO start
f6:
INPUT"Satznummer"; i
GET #1,i
CLS
LOCATE 10,1
IF i =50 THEN PRINT CVI(h$);". Woche" :PRINT:PRINT:INPUT"<Return>",ffff$:GOTO yy1
PRINT i;": ";CVI(h$);" mal gezogen, ";CVI(L$); "Wochen nicht gezogen"
PRINT:PRINT:PRINT
INPUT"<Return>",ffff$
yy1:
CLS
LOCATE 10,30
PRINT "<F1> weiter"
PRINT
PRINT TAB(30) "<F10> zurück zum Menü"
xxx1:
a$=INKEY$
IF LEN(a$)<>0 THEN a=ASC(a$)
IF a$="" THEN xxx1
IF a <> 129 AND a<> 138 THEN xxx1
IF a = 129 THEN f6
IF a = 138 THEN start
GOTO xxx1
f7:
CLS
PRINT
GET #1,50
PRINT"Die Gewinnzahlen der"; CVI(h$);". Woche"
PRINT
FOR i =1 TO 49
GET#1,i
IF CVI(L$)=0 THEN PRINT i;
NEXT
PRINT:PRINT
INPUT"<Return>",ffff$
GOTO start
f8:
CLS
LOCATE 5,30
PRINT"Lotto V 3.5"
PRINT:PRINT TAB(30)"© 1989 by"
PRINT:PRINT TAB(30)"Jens Wilnat"
PRINT:PRINT TAB(30)"Berliner Str. 31"
PRINT:PRINT TAB(30)"3000 Hannover 91"
PRINT:PRINT TAB(30)"Tel. 0511/467066"
PRINT:PRINT
INPUT"<Return>",ffff$
GOTO start
f9:
CLS
PRINT:PRINT:PRINT
PRINT "Dies ist die Version 3.5 meines Lottoprogramms."
PRINT "Ich glaube das Programm ist jetzt fertig."
PRINT "Wenn es noch Fehler hat dann lasst es mich bitte wissen."
PRINT"Wenn Ihr gewinnt könnt Ihr mir ja etwas davon abgeben."
PRINT
PRINT "Good luck ! ! !"
PRINT
PRINT "J.U.W. 14.05.89 23:45 Uhr "
PRINT
PRINT "P.S. Falls die Datei nicht aktuell ist:"
PRINT
PRINT "In der Zeitung 'mach mit' vom Lottoverband findet Ihr die benötigten "
PRINT "Daten. Die Zeitung gibt es kostenlos in jeder Lottoannahmestelle."
PRINT
PRINT "Dann mit Neuerfassung <F1> alle Daten eingeben."
PRINT:PRINT
INPUT"<Return>",ffff$
GOTO start
drucker1:
FOR i =1 TO 49
GET#1,i
LPRINT i;CVI(h$);CVI(L$)
NEXT
GET#1,50
LPRINT CVI(h$);". Woche"
GOTO start
drucker2:
LPRINT z(1); z(2);z(3);z(4);z(5);z(6)
LPRINT lz(1); lz(2);lz(3);lz(4);lz(5);lz(6)
GOTO start
sort1:
v=0
FOR i = 1 TO 5
IF z(i)<= z(i+1) THEN sor1
h=z(i):z(i)=z(i+1):z(i+1)=h
v=1
sor1:
NEXT i
IF v=1 THEN sort1
RETURN
sort2:
v=0
FOR i = 1 TO 5
IF lz(i)<= lz(i+1) THEN sor2
h=lz(i):lz(i)=lz(i+1):lz(i+1)=h
v=1
sor2:
NEXT i
IF v=1 THEN sort2
RETURN